This invention relates to image processing systems. More particularly, to a one dimensional single instruction multiple data (SIMD) parallel processing system with buffers for performing orthogonal rotations.
Yeschick, U.S. Pat. No. 4,916,746 describes an image processing circuit for rotating a block of data representing a portion of an image. As shown in FIG. 1, there is an image display system having an image memory for holding data representing one or more digital images. Data is read out of the image memory in a specified sequence and is then displayed on a video monitor. The system also includes a microprocessor, which has access to the image memory through a sixteen bit data bus 13. The microprocessor can access the image memory whereby it can write new image data or modify existing image data.
The system of Yeschick also includes a rotation circuit having first-in-first-out (FIFO) memory and a shift register as shown in FIG. 2. In operation, data is initially loaded into the FIFO from data bus 13. Once the data has been loaded into the FIFO, a ROTATE signal is set to a logic high allowing the data in the FIFO to shift around the FIFO and into the shift register causing the data to be rotated. An example of operation is described beginning in column 3 line 49 through column 4 line 60 with reference to FIGS. 4 through 6.
Kornfeld, "The Image Prism: A Device for Rotating and Mirroring Bitmap Images" IEEE Computer Graphics and Application Journal, pages 21-30, May 1987, describes a bitmap graphic hardware component, referred to as the "image prism," which enables eight orthogonal transformations. On page 23, Kornfeld discusses how the eight orthogonal transformations can be implemented either by a combination of a rotate and mirror operation or directly via seven special routines. Table 1 summarizes the combination sequence of mirror and rotate operations for each of the eight transformations.
The image prism is described on page 25 and 26 as a memory matrix measuring m.times.m, where m is the word size of a raster scan memory system. The matrix can be accessed either by row or by column in m-bit wide vectors. The image prism in essence enables the viewing of image data, stored in raster scan order, as a two dimensional matrix which is accessible by row or column. Pages 26 through 29 describe the direct implementation of orthogonal transformations using the image prism.